Smack (software)
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
top
Smack (full name: Simplified Mandatory Access Control Kernel) is a Linux kernel security module that protects data and process interaction from malicious manipulation using a set of custom mandatory access control (MAC) rules, with simplicity as its main design goal.cite-ref-major-1-0[1] It has been officially merged since the Linux 2.6.25 release,cite-ref-merge-2-0[2] it was the main access control mechanism for the MeeGo mobile Operating System.cite-ref-meego-3-0[3]cite-ref-meego2-4-0[4] It is also used to sandbox HTML5 web applications in the Tizen architecture,cite-ref-tizen-5-0[5] in the commercial Wind River Linux solutions for embedded device development,cite-ref-winriver1-6-0[6]cite-ref-winriver2-7-0[7] in Philips Digital TV products.,cite-ref-philips-8-0[8] and in Intel's Ostro OS for IoT devices.cite-ref-ostro-9-0[9]
Between 2016-2021, Smack was required in Automotive Grade Linux (AGL) where it provided in association with other Linux facilities the base for the AGL security framework. cite-ref-agl-doc-10-0[10] cite-ref-agl-fosdem17-11-0[11] Since then the Project migrated to SELinux.
Contents
• Design
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Design
Smack consists of three components:
• A kernel module that is implemented as a Linux Security Module. It works best with file systems that support extended attributes.
• A startup script that ensures that device files have the correct Smack attributes and loads the Smack configuration.
• A set of patches to the GNU Core Utilities package to make it aware of Smack extended file attributes. A set of similar patches to Busybox were also created. SMACK does not require user-space support.cite-ref-busybox-12-0[12]
Criticism
Smack has been criticized for being written as a new LSM module instead of an SELinux security policy which can provide equivalent functionality. Such SELinux policies have been proposed, but none had been demonstrated. Smack's author replied that it would not be practical due to SELinux's complicated configuration syntax and the philosophical difference between Smack and SELinux designs.cite-ref-simplicity-13-0[13]
References
cite-note-major-11. ↑ "Official SMACK documentation from the Linux source tree". Archived from the original on 2013-05-01.
cite-note-merge-22. ↑ citerefjonathan-corbetJonathan Corbet. "More stuff for 2.6.25". Archived from the original on 2012-11-02.
cite-note-meego-33. ↑ citerefjake-edgeJake Edge. "The MeeGo Security Framework". Archived from the original on 2012-11-02.
cite-note-meego2-44. ↑ citerefthe-linux-foundationThe Linux Foundation. "MeeGo Security Architecture". Archived from the original on 2013-01-28.
cite-note-tizen-55. ↑ citerefonur-aciicmez-andrew-blaichOnur Aciicmez, Andrew Blaich. "Understanding the Access Control Model for Tizen Application Sandboxing" (PDF). Archived from the original on 2013-01-28.
cite-note-winriver1-66. ↑ citerefwind-riverWind River. "Wind River Linux 4 Product Note" (PDF). Archived from the original (PDF) on 2012-05-23.
cite-note-winriver2-77. ↑ citerefwind-riverWind River. "Wind River Linux 3 Product Note" (PDF). Archived from the original (PDF) on 2014-09-23.
cite-note-philips-88. ↑ citerefembedded-alley-solutions-incEmbedded Alley Solutions, Inc. "SMACK for Digital TV" (PDF). Archived from the original (PDF) on 2012-09-13.
cite-note-ostro-99. ↑ citerefintel-open-source-technology-centerIntel Open Source Technology Center. "Ostro™ OS Architecture Overview". Archived from the original on 2024-05-28.
cite-note-agl-doc-1010. ↑ citerefautomotive-grade-linuxAutomotive Grade Linux. "AGL Security Framework". Archived from the original on 2017-06-06.
cite-note-agl-fosdem17-1111. ↑ citerefdominig-ar-follDominig ar Foll. "AGL as a generic secured industrial embedded Linux". Archived from the original on 2024-05-28.
cite-note-busybox-1212. ↑ "Smack Userspace Tools README". Archived from the original on 2016-09-20.
cite-note-simplicity-1313. ↑ citerefcasey-schauflerCasey Schaufler. "Re: PATCH: Smack: Simplified Mandatory Access Control Kernel". Archived from the original on 2016-10-12.
Further reading
• citerefjake-edge2007Jake Edge (2007-08-08). "Smack for simplified access control". Linux Weekly News.
• citerefjonathan-corbet2007Jonathan Corbet (2007-02-10). "SMACK meets the One True Security Module". Linux Weekly News.
• citerefcasey-schaufler2008Casey Schaufler (January 2008). "The Simplified Mandatory Access Control Kernel" (PPT). Linux.conf.au. Archived from the original on 2014-01-11. Session video (OGG). Melbourne, Australia.
• citerefjake-edge2008Jake Edge (2008-08-06). "Ottawa Linux Symposium: Smack for embedded devices". Linux Weekly News.
• citerefcasey-schaufler2008Casey Schaufler (July 2008). "Smack in Embedded Computing" (PDF). Proceedings of the Linux Symposium. Vol. 2. pp. 186–197. Archived from the original (PDF) on 2013-06-29.
• citerefjake-edge2009Jake Edge (2009-10-07). "Linux Plumbers Conference: Three sessions from the security track". Linux Weekly News.
• citerefelena-reshetova-casey-schaufler2010Elena Reshetova, Casey Schaufler (November 2010). "Mobile Simplified Security Framework Overview" (PDF). MeeGo Conference. Archived from the original (PDF) on 2012-07-25.